package cn.kgm.annotation.tes;

import java.lang.reflect.Method;

/**
 * Create by kappi on
 * 2021/12/22/022 17:14
 */
public class UserUseAnnotation {

    public static void main(String[] args) {
        //  1、获取到UseAnnotation的Class对象
        Class<?> clazz = UserAnnotation.class;
        // // 2、通过Class的getDeclaredAnnotation()方法获取到指定注解
        MyController myController = (MyController) clazz.getDeclaredAnnotation(MyController.class);
        if (myController != null) {
            // 3、输出MyController注解信息
            System.out.println(myController.name() + myController.value());
        }
        // 4、通过Class的getDeclaredMethods()方法获取到UseAnnotation的方法
        Method[] methods = clazz.getMethods();
        for (Method method : methods) {
            // 5、通过Method的getDeclaredAnnotation()方法获取到指定注解
            MyMethod myMethod = (MyMethod) method.getDeclaredAnnotation(MyMethod.class);
            if (myMethod != null) {
                // 6、输出MyMethod注解信息
                System.out.println(myMethod.name() + myMethod.value());
            }
        }
    }
}
